# Team Channel Configuration

Defines Microsoft Teams channels with tabs, moderation rules, and associated content.

Referenced by: Office365GroupCfg (via TeamChannels array).

# Overview

TeamChannelCfg defines a Microsoft Teams channel within a Microsoft 365 Group/Team, including channel tabs (pinned apps), description, and moderation settings.

Nested configurations:

  • TeamTabCfg (list) — channel tabs and pinned apps
  • TeamChannelModerationCfg — moderation and posting rules

# Applied when

Teams channels are created when:

  • The parent Office365GroupCfg is provisioned and includes this channel in the TeamChannels array
  • SharePoint Online only — Teams channels are not supported on SharePoint 2016 or on-premises
  • Applied after the Microsoft 365 Group/Team is created; channels are created as part of team setup
  • All tabs specified in TeamTabCfg (list) are pinned to the channel when it is created
  • Moderation rules specified in TeamChannelModerationCfg are applied to control who can post and how messages are managed

# Core settings

# Name

Type: string | Default: — | Required: Yes

Channel name (visible in Teams). Leading and trailing whitespace is automatically trimmed.

# Description

Type: string | Default: — | Required: No

Channel description.

# Type

Type: enum | Default: Standard | Required: No

Channel type: Standard (public channel), Private (private channel). Default is Standard.

# Associated content

# SiteSet

Type: string | Default: — | Required: No

Only applied if defined and not empty. Name of SiteCfg to associate with the channel (creates a SharePoint site backing). When specified, the named site configuration is looked up; if not found, a warning is logged and the channel is created without a backing site.

# PageSet

Type: string | Default: — | Required: No

Only applied if defined and not empty. Name of PageCfg to display as the channel page. When specified, the named page configuration is looked up; if not found, a warning is logged and no custom page is created.

# Tabs and apps

# Tabs

Type: TeamTabCfg (list) | Default: — | Required: No

Array of tabs/apps to pin to the channel.

# Tab definition (within Tabs (list))

# AppId

Type: string | Default: — | Required: No

Takes precedence over App. Custom app ID for third-party or non-built-in apps. If provided, this ID is used regardless of the App setting. For Microsoft built-in apps, leave empty and use App instead.

# App

Type: enum | Default: — | Required: No

Only used if AppId is empty. Built-in Microsoft app type: Website, Planner, Stream, Forms, Word, Excel, PowerPoint, PDF, Wiki, DocumentLibrary, OneNote, PowerBI, SharePoint, SharepointPages, SharepointNews.

# DisplayName

Type: string | Default: — | Required: Yes

Tab display name (shown in Teams).

# Url

Type: string | Default: — | Required: No

Required for Website tab. Custom URL for Website tab or custom content. For app tabs (Planner, Stream, etc.), leave empty as the app determines its URL.

# ContentId

Type: string | Default: — | Required: No

Content ID for app-specific content identification (used by some apps to identify which item/resource the tab represents).

# Remove

Type: bool? | Default: — | Required: No

Remove this tab when updating. Set to true to remove a previously created tab without deleting it manually.

# Moderation settings

# ModerationSettings

Type: TeamChannelModerationCfg | Default: — | Required: No

Moderation rules for who can post.

# Moderation configuration (within ModerationSettings)

Note: Moderation settings are only applied to the channel if at least one setting is configured (not empty). If all settings are left empty, no moderation is enforced.

# allowNewMessageFromBots

Type: bool? | Default: — | Required: No

Only applied if set (not left empty). Allow bots to post messages to the channel. When true, bots can post; when false, bots are blocked. Leave empty to use Teams default.

# allowNewMessageFromConnectors

Type: bool? | Default: — | Required: No

Only applied if set (not left empty). Allow connectors and webhooks to post messages. When true, connectors can post; when false, connectors are blocked. Leave empty to use Teams default.

# replyRestriction

Type: enum? | Default: — | Required: No

Only applied if set (not left empty). Who can reply to messages. Valid values (case-sensitive):

  • everyone — all members can reply
  • authorAndModerators — only the message author and channel moderators can reply
  • unknownFutureValue — reserved for future API values

# userNewMessageRestriction

Type: enum? | Default: — | Required: No

Only applied if set (not left empty). Who can post new messages. Valid values (case-sensitive):

  • everyone — all members
  • everyoneExceptGuests — members excluding guest users
  • moderators — only channel moderators
  • unknownFutureValue — reserved for future API values
Last Updated: 4/20/2026, 12:54:05 PM